package br.com.fogas.database.entidade;

import java.io.Serializable;

import br.com.fogas.database.IMetadata;
import br.com.fogas.webservice.parser.cliente.T_Cliente_Item;

import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

@DatabaseTable(tableName=IMetadata.ICliente.table_name)
public class Cliente implements IMetadata, Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@DatabaseField(generatedId = true, columnName=ICliente.id)
	private Integer id;
	
	@DatabaseField(unique=true, canBeNull=false, width=10, columnName=ICliente.tx_cod_cliente)
	private String tx_cod_cliente;
	
	@DatabaseField(width=35, columnName=ICliente.tx_nome)
	private String tx_nome;
	
	@DatabaseField(width=11, columnName=ICliente.tx_cpf)
	private String tx_cpf;
	
	@DatabaseField(width=18, columnName=ICliente.tx_insc_est)
	private String tx_insc_est;
	
	@DatabaseField(width=25, columnName=ICliente.tx_cidade)
	private String tx_cidade;
	
	@DatabaseField(width=25, columnName=ICliente.tx_bairro)
	private String tx_bairro;
	
	@DatabaseField(width=10, columnName=ICliente.tx_cod_postal)
	private String tx_cod_postal;
	
	@DatabaseField(width=3, columnName=ICliente.tx_regiao)
	private String tx_regiao;
	
	@DatabaseField(width=30, columnName=ICliente.tx_endereco)
	private String tx_endereco;
	
	@DatabaseField(width=2, columnName=ICliente.tx_cod_sit_cred)
	private String tx_cod_sit_cred;
	
	@DatabaseField(width=20, columnName=ICliente.tx_sit_cred)
	private String tx_sit_cred;
	
	@DatabaseField(width=19, columnName=ICliente.vl_lim_cred)
	private String vl_lim_cred;
	
	@DatabaseField(width=19, columnName=ICliente.vl_tot_div)
	private String vl_tot_div;
	
	@DatabaseField(width=40, columnName=ICliente.tx_tel)
	private String tx_tel;
	
	@DatabaseField(width=16, columnName=ICliente.tx_cnpj)
	private String tx_cnpj;
	
	@DatabaseField(width=2, columnName=ICliente.cs_bloqueio)
	private String cs_bloqueio;
	
	@DatabaseField(width=20, columnName=ICliente.tx_bloqueio)
	private String tx_bloqueio;
	
	@DatabaseField(width=4, columnName=ICliente.tx_cod_cid)
	private String tx_cod_cid;
	
	@DatabaseField(width=50, columnName=ICliente.tx_campo_texto)
	private String tx_campo_texto;
	
	@DatabaseField(width=40, columnName=ICliente.tx_cel)
	private String tx_cel;
	
	@DatabaseField(foreign=true, foreignAutoRefresh=true, columnName=ICliente.tx_canal)
	private Canal tx_canal;
	
	@DatabaseField(foreign=true, foreignAutoRefresh=true, columnName=ICliente.tx_cod_cond_pagto)
	private CondicaoPagto tx_cod_cond_pagto;
	
	public Cliente() {
		// TODO Auto-generated constructor stub
	}
	
	public Cliente(T_Cliente_Item item, Canal canal, CondicaoPagto conPagto) {
		this.setTx_cod_cond_pagto(conPagto);
		this.setTx_canal(canal);
		this.setTx_cod_cliente(item.getTx_cod_cliente());
		this.setTx_nome(item.getTx_nome());
		this.setTx_cnpj(item.getTx_cnpj());
		this.setTx_cpf(item.getTx_cpf());
		this.setTx_insc_est(item.getTx_insc_est());
		this.setTx_cidade(item.getTx_cidade());
		this.setTx_bairro(item.getTx_bairro());
		this.setTx_cod_postal(item.getTx_cod_postal());
		this.setTx_regiao(item.getTx_regiao());
		this.setTx_endereco(item.getTx_endereco());
		this.setTx_cod_sit_cred(item.getTx_cod_sit_cred());
		this.setTx_sit_cred(item.getTx_sit_cred());
		this.setVl_lim_cred(item.getVl_lim_cred());
		this.setVl_tot_div(item.getVl_tot_div());
		this.setTx_tel(item.getTx_tel());
		this.setTx_cel(item.getTx_cel());
		this.setCs_bloqueio(item.getCs_bloqueio());
		this.setTx_bloqueio(item.getTx_bloqueio());
		this.setTx_cod_cid(item.getTx_cod_cid());
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getTx_cod_cliente() {
		return tx_cod_cliente;
	}

	public void setTx_cod_cliente(String tx_cod_cliente) {
		this.tx_cod_cliente = tx_cod_cliente;
	}

	public String getTx_nome() {
		return tx_nome;
	}

	public void setTx_nome(String tx_nome) {
		this.tx_nome = tx_nome;
	}

	public String getTx_cpf() {
		return tx_cpf;
	}

	public void setTx_cpf(String tx_cpf) {
		this.tx_cpf = tx_cpf;
	}

	public String getTx_insc_est() {
		return tx_insc_est;
	}

	public void setTx_insc_est(String tx_insc_est) {
		this.tx_insc_est = tx_insc_est;
	}

	public String getTx_cidade() {
		return tx_cidade;
	}

	public void setTx_cidade(String tx_cidade) {
		this.tx_cidade = tx_cidade;
	}

	public String getTx_bairro() {
		return tx_bairro;
	}

	public void setTx_bairro(String tx_bairro) {
		this.tx_bairro = tx_bairro;
	}

	public String getTx_cod_postal() {
		return tx_cod_postal;
	}

	public void setTx_cod_postal(String tx_cod_postal) {
		this.tx_cod_postal = tx_cod_postal;
	}

	public String getTx_regiao() {
		return tx_regiao;
	}

	public void setTx_regiao(String tx_regiao) {
		this.tx_regiao = tx_regiao;
	}

	public String getTx_endereco() {
		return tx_endereco;
	}

	public void setTx_endereco(String tx_endereco) {
		this.tx_endereco = tx_endereco;
	}

	public String getTx_cod_sit_cred() {
		return tx_cod_sit_cred;
	}

	public void setTx_cod_sit_cred(String tx_cod_sit_cred) {
		this.tx_cod_sit_cred = tx_cod_sit_cred;
	}

	public String getTx_sit_cred() {
		return tx_sit_cred;
	}

	public void setTx_sit_cred(String tx_sit_cred) {
		this.tx_sit_cred = tx_sit_cred;
	}

	public String getVl_lim_cred() {
		return vl_lim_cred;
	}

	public void setVl_lim_cred(String vl_lim_cred) {
		this.vl_lim_cred = vl_lim_cred;
	}

	public String getVl_tot_div() {
		return vl_tot_div;
	}

	public void setVl_tot_div(String vl_tot_div) {
		this.vl_tot_div = vl_tot_div;
	}

	public String getTx_tel() {
		return tx_tel;
	}

	public void setTx_tel(String tx_tel) {
		this.tx_tel = tx_tel;
	}

	public String getTx_cnpj() {
		return tx_cnpj;
	}

	public void setTx_cnpj(String tx_cnpj) {
		this.tx_cnpj = tx_cnpj;
	}

	public String getCs_bloqueio() {
		return cs_bloqueio;
	}

	public void setCs_bloqueio(String cs_bloqueio) {
		this.cs_bloqueio = cs_bloqueio;
	}

	public String getTx_bloqueio() {
		return tx_bloqueio;
	}

	public void setTx_bloqueio(String tx_bloqueio) {
		this.tx_bloqueio = tx_bloqueio;
	}

	public CondicaoPagto getTx_cod_cond_pagto() {
		return tx_cod_cond_pagto;
	}
	
	public void setTx_cod_cond_pagto(CondicaoPagto tx_cod_cond_pagto) {
		this.tx_cod_cond_pagto = tx_cod_cond_pagto;
	}

	public String getTx_cod_cid() {
		return tx_cod_cid;
	}

	public void setTx_cod_cid(String tx_cod_cid) {
		this.tx_cod_cid = tx_cod_cid;
	}

	public String getTx_campo_texto() {
		return tx_campo_texto;
	}

	public void setTx_campo_texto(String tx_campo_texto) {
		this.tx_campo_texto = tx_campo_texto;
	}

	public String getTx_cel() {
		return tx_cel;
	}

	public void setTx_cel(String tx_cel) {
		this.tx_cel = tx_cel;
	}
	
	public Canal getTx_canal() {
		return tx_canal;
	}
	
	public void setTx_canal(Canal tx_canal) {
		this.tx_canal = tx_canal;
	}
}